// 给你一个字符串path，表示指向某一文件或目录的Unix风格 绝对路径，请将其转化为更加简洁的规范路径
// 规范路径必须遵循下述格式
// 1. 始终以斜杠开头
// 2. 两个目录名之间必须只有一个斜杠
// 3. 最后一个目录名（如果存在）不能以‘/’结尾
// 4. 此外，路径仅包含从根目录到目标文件或者目录的路径上的目录（即不含 ‘.’或‘..’）

// 思路，堆栈
// 用 `/`分隔为数组，判断每个元素并处理栈或者入栈，最终得到结果
function simplifyPath(path) {
    let names = path.split('/')
    let stack = [] // 结果
    for (const item of names) {
        if (item === '..') {
            if (stack.length) {
                stack.pop()
            }
        } else if (item.length && item !== '.') {
            stack.push(item)
        }
    }
    return '/' + stack.join('/')
}

let path = "/a/./b/../../c/"
console.log(simplifyPath(path))